package csel.model.skills;

import java.util.ArrayList;
import java.util.List;

public class SkillsHolder implements SkillsProxy, java.io.Serializable
{
	private static final long serialVersionUID = 5L;

	private ArrayList<RangedActiveSkill> rangedSkills = new ArrayList<RangedActiveSkill>();
	private ArrayList<NonRangedActiveSkill> nonRangedSkills = new ArrayList<NonRangedActiveSkill>();
	private ArrayList<PassiveSkill> passiveSkills = new ArrayList<PassiveSkill>();
	
	public SkillsHolder()
	{
		
	}
	
	public void addSkill(RangedActiveSkill s)
	{
		rangedSkills.add(s);
	}
	public void addSkill(NonRangedActiveSkill s)
	{
		nonRangedSkills.add(s);
	}
	public void addSkill(PassiveSkill s)
	{
		passiveSkills.add(s);
	}
	
	public List<ActiveSkill> getActiveSkills()
	{
		ArrayList<ActiveSkill> allActive = new ArrayList<ActiveSkill>();
		allActive.addAll(nonRangedSkills);
		allActive.addAll(rangedSkills);
		return(allActive);
	}
	public List<NonRangedActiveSkill> getNonRangedSkills()
	{
		return(nonRangedSkills);
	}
	public List<Skill> getAllSkills()
	{
		ArrayList<Skill> allSkills = new ArrayList<Skill>();
		allSkills.addAll(passiveSkills);
		allSkills.addAll(nonRangedSkills);
		allSkills.addAll(rangedSkills);
		return(allSkills);
	}
	public List<PassiveSkill> getPassiveSkills()
	{
		return(passiveSkills);
	}
	public List<RangedActiveSkill> getRangedSkills()
	{
		return(rangedSkills);
	}
}
